package babo;

public class SampleObj {
	private String name;

	/**
	 *  생성자  SampleObj
	 *	@param name 설명: private String name을 초기화
	 */
	public SampleObj(String name){
		this.name=name;
	}
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 * System.out.println과 같은 메서드의 인자로 객체를 넣으면, 자동으로 toString() 메서드가 실행됨을 알 수 있습니다
	 * 그러나 오버라이딩 하지 않은 toStirng() 메서드의 리턴값은 단지 클래스의 이름과 그 객체의 해쉬코드 값 뿐입니다.
	 * 사용자는 toString() 메서드를 원하는 대로 오버라이딩하여 사용할 수 있습니다.
	 */
	public String toString()
	{
		return name;
	}
	
	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 * 모든 오브젝트는 항상 Object클래스를 상속있고 있다
	 * Object의 메소드중 equals를 여기서 오버라이딩한다
	 */
	public boolean equals(Object obj){
		String currentObj= this.toString();
		String otherObj= obj.toString();
		return currentObj.equals(otherObj);
	}
}
